package com.candy.testOfIO;

import java.io.*;

/**
 * @author donglin
 * @Title:
 * @类名: Test02
 * @date 2020/5/28
 */
public class Test02 {
    public static void main(String[] args) {
        test04();
    }
    public static void test04() {
        //创建了一个Student类的实例对象
        Student stu=new Student("王五",102,true);
        try(
                //创建了一个输出流对象，将内存中的stu对象的信息，写入我们的外部文件中去
                ObjectOutputStream oos=new ObjectOutputStream(
                        new FileOutputStream("F:\\testIo\\student05.txt"));

                //创建了一个对象出入流对象。获取外部文件中对象的信息
                ObjectInputStream ois=new ObjectInputStream(
                        new FileInputStream("F:\\testIo\\student05.txt"));

        ) {
            //将对象写出
            oos.writeObject(stu);
            //获取外部文件存储的对象信息
            Student ob= (Student) ois.readObject();
            System.out.println("写入文件的对象信息"+stu);
            System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.out.println("从文件中获取的对象信息"+ob);
            System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.out.println(stu==ob);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }


    public static void test03() {
        //创建了一个Student类的实例对象
        Student stu=new Student("张三",102,true);
        try(
                //创建了一个输出流对象，将内存中的stu对象的信息，写入我们的外部文件中去
                ObjectOutputStream oos=new ObjectOutputStream(
                        new FileOutputStream("F:\\testIo\\student03.txt"));

                //创建了一个对象出入流对象。获取外部文件中对象的信息
                ObjectInputStream ois=new ObjectInputStream(
                        new FileInputStream("F:\\testIo\\student03.txt"));

        ) {
                //将对象写出
                oos.writeObject(stu);
            //获取外部文件存储的对象信息
            Student ob= (Student) ois.readObject();
            System.out.println("写入文件的对象信息"+stu);
            System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.out.println("从文件中获取的对象信息"+ob);
            System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.out.println(stu==ob);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

    public static void test02() {
        try(

                //创建了一个对象出入流对象。获取外部文件中对象的信息
                ObjectInputStream ois=new ObjectInputStream(
                        new FileInputStream("F:\\testIo\\student.txt"));

        ) {

            //获取外部文件存储的对象信息
               Object ob= ois.readObject();
            System.out.println(ob);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }


    public static void test01() {
        //创建了一个Student类的实例对象
        Student stu=new Student("张三",102,true);
        try(
                //创建了一个输出流对象，将内存中的stu对象的信息，写入我们的外部文件中去
                ObjectOutputStream oos=new ObjectOutputStream(
                        new FileOutputStream("F:\\testIo\\student.txt"));

        ) {
            //将对象写出
            oos.writeObject(stu);
            } catch (IOException e) {
            e.printStackTrace();
        }

    }

}
